Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit 5253cccfa7278a33ffd7f781a438a6040cfd8a02


Parents : a2e6a06
Author : Mark Qvist <mark@unsigned.io>
Date : 2025-12-22T11:27:05+01:00

Save peer settings file using write-then-copy

Changes

1 files changed, 4 insertions(+), 3 deletions(-)


Diff

diff --git a/nomadnet/NomadNetworkApp.py b/nomadnet/NomadNetworkApp.py
index 80323a8..69a4fe0 100644
--- a/nomadnet/NomadNetworkApp.py
+++ b/nomadnet/NomadNetworkApp.py
@@ -245,6 +245,7 @@ class NomadNetworkApp:
self.peer_settings["served_file_requests"] = 0
except Exception as e:
+ RNS.logdest = RNS.LOG_STDOUT
RNS.log(f"Could not load local peer settings from {self.peersettingspath}", RNS.LOG_ERROR)
RNS.log(f"The contained exception was: {e}", RNS.LOG_ERROR)
RNS.log(f"This likely means that the peer settings file has become corrupt.", RNS.LOG_ERROR)
@@ -560,9 +561,9 @@ class NomadNetworkApp:
return self.message_router.get_outbound_propagation_node()
def save_peer_settings(self):
- file = open(self.peersettingspath, "wb")
- file.write(msgpack.packb(self.peer_settings))
- file.close()
+ tmp_path = f"{self.peersettingspath}.tmp"
+ with open(tmp_path, "wb") as file: file.write(msgpack.packb(self.peer_settings))
+ os.replace(tmp_path, self.peersettingspath)
def lxmf_delivery(self, message):
time_string = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(message.timestamp))


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────